package com.yungu.swift.system.sys.dao;

import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.yungu.swift.base.mapper.IMapper;
import com.yungu.swift.system.sys.model.dto.SysAccountAgentDto;
import com.yungu.swift.system.finance.model.param.AdminAccountFlowPageParam;
import com.yungu.swift.system.finance.model.param.AdminAccountPageParam;
import com.yungu.swift.system.sys.model.vo.SysAgentAccountFlowVo;
import com.yungu.swift.system.sys.model.vo.SysAgentAccountVo;

import java.util.List;

public interface SysAccountAgentMapper extends IMapper<SysAccountAgentDto> {
    /**
     * 代理账户查询
     *
     * @param accountPageParam
     * @return
     */
    PageList<SysAgentAccountVo> queryPageVo(AdminAccountPageParam accountPageParam, PageBounds pageBounds);

    /**
     * 代理账户查询（EXCEL导出）--注意与分页方法保持同名
     *
     * @param accountPageParam 参数集合
     * @return List
     * @author Zerrion
     * @date 2018/10/23
     */
    List<SysAgentAccountVo> queryPageVo(AdminAccountPageParam accountPageParam);

    /**
     * 财务统计——查询代理数量及账号总额
     *
     * @param accountPageParam
     * @return
     */
    SysAgentAccountVo statistics(AdminAccountPageParam accountPageParam);

    /**
     * 查询代理账户流水
     *
     * @param flowPageParam
     * @return
     */
    PageList<SysAgentAccountFlowVo> flowQueryPage(AdminAccountFlowPageParam flowPageParam, PageBounds pageBounds);

    /**
     * 查询代理账户流水导出
     *
     * @param flowPageParam
     * @return
     */
    List<SysAgentAccountFlowVo> flowQueryPage(AdminAccountFlowPageParam flowPageParam);


}